require('dotenv').config();
const jwt = require('jsonwebtoken');


//授权令牌中间件
//中间件，用来保护路由，需要登录或者携带令牌才可访问
function authenticateToken(req, res, next) {
    const authHeader = req.headers['authorization'];
    const token = authHeader && authHeader.split(' ')[1]; // Bearer TOKEN
    if (!token) {
        return res.sendStatus(401);
    } // 未提供令牌

    let secretKey = process.env.JWT_SECRET;
    jwt.verify(token, secretKey, (err, user) => {
        if (err) {
            return res.sendStatus(403);
        } // 无效令牌
        req.user = user; // 将解码的用户信息附加到请求对象
        next();
    });
}


module.exports = { authenticateToken };